package util;

import java.io.File;

import javax.swing.filechooser.FileFilter;

public class JAVAFileFilter extends FileFilter {
	String ext;

	public JAVAFileFilter(String ext) {
		this.ext = ext;
	}

	/* 在accept()方法中,当程序所抓到的是一个目录而不是文件时,我们返回true值,表示将此目录显示出来. */
	public boolean accept(File file) {
		if (file.isDirectory()) {
			return true;
		}
		String fileName = file.getName();
		int index = fileName.lastIndexOf('.');
		if (index > 0 && index < fileName.length() - 1) {
			// 表示文件名称不为".xxx"现"xxx."之类型
			String extension = fileName.substring(index + 1).toLowerCase();
			// 若所抓到的文件扩展名等于我们所设置要显示的扩展名(即变量ext值),则返回true,表示将此文件显示出来,否则返回
			// true.
			if (extension.equals(ext))
				return true;
		}
		return false;
	}

	// 实现getDescription()方法,返回描述文件的说明字符串!!!
	public String getDescription() {
		if (ext.equals("txt"))
			return "文本文档 (.txt)";
		if (ext.equals("docx"))
			return "Microsoft Word 文档 (.docx)";
		if(ext.equals("doc"))
			return "Microsoft Word 97 - 2003 文档 (.doc)";
		if(ext.equals("xls")) 
			return "Microsoft Excel 97-2003 工作表 (.xls)";
		if(ext.equals("xlsx")) 
			return "Microsoft Excel 工作表 (.xlsx)";
		if(ext.equals("ppt"))
			return "Microsoft PowerPoint 97-2003 演示文稿 (.ppt)";
		if(ext.equals("pptx"))
			return "Microsoft PowerPoint 演示文稿 (.pptx)";
		return "";
	}
}